/*
 * @Author: FanWeiHua
 * @Date: 2021-08-03 10:05:42
 * @LastEditTime: 2021-08-11 09:12:47
 * @Description: 主题切换
 */
const { isFile } = require('./util');
const path = require('path');
/**
 * webpack的自定义配置
 */
const webpackConfig = JSON.parse(process.env.webpackConfig);
// 判断文件是否存在
const cState = isFile(path.resolve(__dirname, `${webpackConfig.project.path}/static/antd-theme/theme.less`));
// 判断文件夹是否存在
const antdState = isFile(path.resolve(__dirname, `${webpackConfig.project.path}/static/antd-theme`));
if (!cState && antdState) {
  // antd-vue的主题插件
  const { generateTheme } = require('antd-theme-generator');
  /**
   * ant-vue 主题修改插件配置
   */
  const options = {
    stylesDir: path.resolve(__dirname, `${webpackConfig.project.path}/static/antd-theme`), // 主题文件所在文件夹
    antDir: path.resolve(__dirname, '../../node_modules/ant-design-vue'), // antd包位置
    varFile: path.resolve(__dirname, `${webpackConfig.project.path}/static/antd-theme/variables.less`), // 自定义默认的主题色
    themeVariables: [
      '@primary-color', // 全局主色
      '@link-color', // 链接色
      '@success-color', // 成功色
      '@warning-color', // 警告色
      '@error-color', // 错误色
      '@font-size-base', // 主字号
      '@heading-color', // 标题色
      '@text-color', // 主文本色
      '@text-color-secondary', // 次文本色
      '@disabled-color', // 失效色
      '@border-radius-base', // 组件/浮层圆角
      '@border-color-base', // 边框色
      '@box-shadow-base' // 浮层阴影
    ], // 要改变的主题变量
    indexFileName: 'index.html', // index.html所在位置
    outputFilePath: path.resolve(__dirname, `${webpackConfig.project.path}/static/antd-theme/theme.less`) // 提取的less文件输出到什么地方
  };
  generateTheme(options)
    .then(less => {
      console.log('Theme generated successfully');
    })
    .catch(error => {
      console.log('Error', error);
    });
}
